package com.yxinsur.imc.business.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yxinsur.imc.common.annotation.Excel;
import com.yxinsur.imc.common.core.domain.BaseImcEntity;

/**
 * 代理人继续率
对象 imc_broker_persistency_rate
 * 
 * @author imc
 * @date 2021-05-20
 */
public class ImcBrokerPersistencyRate extends BaseImcEntity
{
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    private String id;

    /** 代理人id */
    @Excel(name = "代理人id")
    private Long brokerId;

    /** 应收保单对应详情的ids */
    @Excel(name = "应收保单对应详情的ids")
    private String payableOrderRiskJson;

    /** 应收保费 */
    @Excel(name = "应收保费")
    private BigDecimal payablePrem;

    /** 实收保费 */
    @Excel(name = "实收保费")
    private BigDecimal paymentPrem;

    /** YYYY-MM继续率月份（计算为该月2个月后） */
    @Excel(name = "YYYY-MM继续率月份", readConverterExp = "计=算为该月2个月后")
    private String persistencyMonth;

    /** 继续率类型R13 R25 R37 */
    @Excel(name = "继续率类型R13 R25 R37")
    private String persistencyRateType;

    /** 继续率 */
    @Excel(name = "继续率")
    private BigDecimal persistencyRate;

    /** 租户id,一个租户id唯一对一个机构id（默认机构id为根节点id暨法人机构） */
    @Excel(name = "租户id,一个租户id唯一对一个机构id", readConverterExp = "默=认机构id为根节点id暨法人机构")
    private Long tenantId;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setBrokerId(Long brokerId) 
    {
        this.brokerId = brokerId;
    }

    public Long getBrokerId() 
    {
        return brokerId;
    }
    public void setPayablePrem(BigDecimal payablePrem)
    {
        this.payablePrem = payablePrem;
    }

    public BigDecimal getPayablePrem() 
    {
        return payablePrem;
    }
    public void setPaymentPrem(BigDecimal paymentPrem) 
    {
        this.paymentPrem = paymentPrem;
    }

    public BigDecimal getPaymentPrem() 
    {
        return paymentPrem;
    }
    public void setPersistencyMonth(String persistencyMonth) 
    {
        this.persistencyMonth = persistencyMonth;
    }

    public String getPersistencyMonth() 
    {
        return persistencyMonth;
    }
    public void setPersistencyRateType(String persistencyRateType) 
    {
        this.persistencyRateType = persistencyRateType;
    }

    public String getPersistencyRateType() 
    {
        return persistencyRateType;
    }
    public void setPersistencyRate(BigDecimal persistencyRate) 
    {
        this.persistencyRate = persistencyRate;
    }

    public BigDecimal getPersistencyRate() 
    {
        return persistencyRate;
    }
    public void setTenantId(Long tenantId)
    {
        this.tenantId = tenantId;
    }

    public Long getTenantId() 
    {
        return tenantId;
    }

    public String getPayableOrderRiskJson() {
        return payableOrderRiskJson;
    }

    public void setPayableOrderRiskJson(String payableOrderRiskJson) {
        this.payableOrderRiskJson = payableOrderRiskJson;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("brokerId", getBrokerId())
            .append("payablePrem", getPayablePrem())
            .append("paymentPrem", getPaymentPrem())
            .append("persistencyMonth", getPersistencyMonth())
            .append("persistencyRateType", getPersistencyRateType())
            .append("persistencyRate", getPersistencyRate())
            .append("createId", getCreateId())
            .append("createTime", getCreateTime())
            .append("updateId", getUpdateId())
            .append("updateTime", getUpdateTime())
            .append("isDeleted", getIsDeleted())
            .append("tenantId", getTenantId())
            .toString();
    }
}
